package com.jprocms.module.cms.enums;

import java.util.HashMap;
import java.util.Map;

public enum EnumPasswordRule {

    /**
     * 密码中必须包含字母、数字
     */
    PASSWORD_RULE_1(1, "密码中必须包含字母、数字"),
    /**
     * 密码中必须包含大写字母、小写字母、数字
     */
    PASSWORD_RULE_2(2, "密码中必须包含大写字母、小写字母、数字"),
    /**
     * 密码中必须包含字母、数字、特殊字符
     */
    PASSWORD_RULE_3(3, "密码中必须包含字母、数字、特殊字符"),
    /**
     * 密码中必须包含大写字母、小写字母、数字、特殊字符
     */
    PASSWORD_RULE_4(4, "密码中必须包含大写字母、小写字母、数字、特殊字符"),
    /**
     * 不限制
     */
    PASSWORD_RULE_0(0, "不限制"),
    ;

    public static Map<Integer, EnumPasswordRule> PASSWORD_RULE_MAP = new HashMap<>();

    static {
        PASSWORD_RULE_MAP.put(PASSWORD_RULE_1.code, PASSWORD_RULE_1);
        PASSWORD_RULE_MAP.put(PASSWORD_RULE_2.code, PASSWORD_RULE_2);
        PASSWORD_RULE_MAP.put(PASSWORD_RULE_3.code, PASSWORD_RULE_3);
        PASSWORD_RULE_MAP.put(PASSWORD_RULE_4.code, PASSWORD_RULE_4);
        PASSWORD_RULE_MAP.put(PASSWORD_RULE_0.code, PASSWORD_RULE_0);
    }

    public static String getRuleDesc(Integer ruleCode) {
        return PASSWORD_RULE_MAP.get(ruleCode).getDesc();
    }

    private Integer code;
    private String desc;

    EnumPasswordRule(Integer code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
}
